package cn.zhentao.charge.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 优惠券对象 coupon
 * 
 * @author ruoyi
 * @date 2025-05-15
 */
public class Coupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 表主键id */
    private Integer id;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    private String name;

    /** 条件规则id */
    @Excel(name = "条件规则id")
    private Integer conditionId;

    /** 所属积分 */
    @Excel(name = "所属积分")
    private Integer point;

    /** 类型 0通用 1专用 */
    @Excel(name = "类型 0通用 1专用")
    private Integer userType;

    /** 叠加 0是 1否 */
    @Excel(name = "叠加 0是 1否")
    private Integer overlay;

    /** 有效期 0一个月 1三个月 2 半年  3 一年  4永久 */
    @Excel(name = "有效期 0一个月 1三个月 2 半年  3 一年  4永久")
    private Integer period;

    /** 可领取次数 */
    @Excel(name = "可领取次数")
    private Integer times;

    /** 有效期单位 天、周、月、年 */
    @Excel(name = "有效期单位 天、周、月、年")
    private Integer periodUnit;

    /** 是否还可以用 0是 1否 */
    @Excel(name = "是否还可以用 0是 1否")
    private Integer status;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setConditionId(Integer conditionId) 
    {
        this.conditionId = conditionId;
    }

    public Integer getConditionId() 
    {
        return conditionId;
    }

    public void setPoint(Integer point) 
    {
        this.point = point;
    }

    public Integer getPoint() 
    {
        return point;
    }

    public void setUserType(Integer userType) 
    {
        this.userType = userType;
    }

    public Integer getUserType() 
    {
        return userType;
    }

    public void setOverlay(Integer overlay) 
    {
        this.overlay = overlay;
    }

    public Integer getOverlay() 
    {
        return overlay;
    }

    public void setPeriod(Integer period) 
    {
        this.period = period;
    }

    public Integer getPeriod() 
    {
        return period;
    }

    public void setTimes(Integer times) 
    {
        this.times = times;
    }

    public Integer getTimes() 
    {
        return times;
    }

    public void setPeriodUnit(Integer periodUnit) 
    {
        this.periodUnit = periodUnit;
    }

    public Integer getPeriodUnit() 
    {
        return periodUnit;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("conditionId", getConditionId())
            .append("point", getPoint())
            .append("userType", getUserType())
            .append("overlay", getOverlay())
            .append("period", getPeriod())
            .append("times", getTimes())
            .append("periodUnit", getPeriodUnit())
            .append("status", getStatus())
            .toString();
    }
}
